package com.enjoyor.soa.traffic.core.efoms.service;

import java.util.List;

import com.enjoyor.soa.traffic.core.efoms.domain.DeviceStatusInfo;

public interface IDevStatusInfoService {
	
	/**
     * 新增设备状态信息表
     * @param deviceStatusInfo
     * @param username
     * @return
     */
	public String insertDevStatusInfoOnly(DeviceStatusInfo deviceStatusInfo, String username);
	
    /**
     * 判断是否存在，新增/更新设备状态信息表（关键字段：设备编号、设备名称、设备类别、设备类别名称、设备状态编号、设备装态）
     * @param deviceStatusInfo
     * @param username
     * @return
     */
	public String insertDevStatusInfo(DeviceStatusInfo deviceStatusInfo, String username);

    /**
     * 修改设备状态信息表（关键字段：设备类别、设备Id、状态信息）
     * @param deviceStatusInfo
     * @param username
     * @return
     */
	public String updateDevStatusInfo(DeviceStatusInfo deviceStatusInfo, String username);

    /**
     * 获取设备状态信息
     * @param devCategoryCode 设备类别编号
     * @param devTypeCode 设备类型编号
     * @param devId  设备编号
     * @return
     */
	public DeviceStatusInfo getDevStatusInfo(String devCategoryCode, String devTypeCode, String devId);

    /**
     * 获取设备状态信息
     * @param devStatusId
     * @return
     */
	public DeviceStatusInfo getDevStatusInfoById(String devStatusId);
	
	/**
     * 获取设备状态列表信息
     * @param devCategoryCode 设备类别编号
     * @param devTypeCode 设备类型编号
     * @param devId  设备编号
     * @param devName 设备名称
     * @param devStatusCode 设备状态编号
     * @param repStatusCode 报修状态编号
     * @return
     */
	public List<DeviceStatusInfo> selectDeviceStatusList(String devStatusId, String devCategoryCode, String devTypeCode, 
			String devId, String devName, String devStatusCode, String repStatusCode);
	
	/**
	 * 根据设备类型 清空视频截图访问状态数据
	 * @param devTypeCode
	 * @return
	 */
	public void cleanVideoCapStatus(String devTypeCode);
	
	/**
	 * 巡检结果刷新接口(根据设备类型将巡检结果刷新为null)
	 * @param deviceStatusInfo
	 * @return
	 */
	public void refreshCheckResult(DeviceStatusInfo deviceStatusInfo);
}
